package varios;

import java.util.Date;
import java.util.Set;

import unidades.Persona;

public class Jugador {

	private Integer id;
	private String nombre;
	private String apellido;
	private String password;
	private String alias;
	private String email;
	private Date fechaAlta;
	private Date fechaModificacion;
	
	private Set<Edificio> edificios;
	private Set<Persona> unidades;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}
	
	public String getApellido() {
		return apellido;
	}

	public void setApellido(String apellido) {
		this.apellido = apellido;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getAlias() {
		return alias;
	}

	public void setAlias(String alias) {
		this.alias = alias;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public Date getFechaAlta() {
		return fechaAlta;
	}

	public void setFechaAlta(Date fechaAlta) {
		this.fechaAlta = fechaAlta;
	}

	public Date getFechaModificacion() {
		return fechaModificacion;
	}

	public void setFechaModificacion(Date fechaModificacion) {
		this.fechaModificacion = fechaModificacion;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public Set<Edificio> getEdificios() {
		return edificios;
	}

	public void setEdificios(Set<Edificio> edificios) {
		this.edificios = edificios;
	}

	public Set<Persona> getUnidades() {
		return unidades;
	}

	public void setUnidades(Set<Persona> unidades) {
		this.unidades = unidades;
	}
	
	public Jugador(){ }

	public Jugador(String nombre, String apellido, String alias,
			String password, String email) {
		this.setNombre(nombre);
		this.setApellido(apellido);
		this.setPassword(password);
		this.setAlias(alias);
		this.setEmail(email);
		this.setFechaAlta(new Date());
		this.setFechaModificacion(this.getFechaAlta());
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((alias == null) ? 0 : alias.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Jugador other = (Jugador) obj;
		if (alias == null) {
			if (other.alias != null)
				return false;
		} else if (!alias.equals(other.alias))
			return false;
		return true;
	}
}
